package com.tiger.project.service;

import com.tiger.project.domain.AssetReceipt;
import com.tiger.project.domain.AssetReceiptHistory;
import com.tiger.project.domain.req.AssetReceiptAllocations;

import java.util.List;


/**
 * 【租金收款/租金进账】Service接口
 *
 * @author standard
 * @date 2022-09-27
 */
public interface IAssetReceiptService {
    /**
     * 查询【租金收款/租金进账】
     *
     * @param id 【租金收款/租金进账】主键
     * @return 【租金收款/租金进账】
     */
    public AssetReceipt selectAssetReceiptById(Long id);

    /**
     * 查询【租金收款】列表
     *
     * @param assetReceipt 【租金收款】
     * @return 【租金收款】集合
     */
    public List<AssetReceipt> selectAssetReceiptList(AssetReceipt assetReceipt);


    /**
     * 查询租金进账
     * @param assetReceipt 租金进账
     * @return
     */
    public List<AssetReceipt> selectAssetReceiptRecordList(AssetReceipt assetReceipt);

    /**
     * 新增【租金进账】
     *
     * @param assetReceipt 【租金进账】
     * @return 结果
     */
    public int addAssetReceiptRecord(AssetReceipt assetReceipt);


    /**
     * 修改【租金收款】
     *
     * @param assetReceipt 【租金收款】
     * @return 结果
     */
    public int updateAssetReceipt(AssetReceipt assetReceipt);

    /**
     * 修改【租金进账】
     *
     * @param assetReceipt 【租金进账】
     * @return 结果
     */
    public int updateAssetReceiptRecord(AssetReceipt assetReceipt);

    //开票申请审核回调
    public int callBack(Long id,Long status,String oaFile,String isMakeInvoice,String isGetInvoice);

    //租金进账审核回调
    public int callBackRecord(Long id,Long status,String recordOaFile);

    //收款记录列表
    public List<AssetReceiptHistory> selectAssetReceiptRecordsList(Long id,String type);

    //收款记录详情
    public AssetReceiptHistory selectAssetReceiptRecordsById(Long id);
    /**
     * 批量删除【租金进账】
     *
     * @param id 需要删除的【租金进账】主键集合
     * @return 结果
     */
    public int deleteAssetReceiptById(Long id);


}
